"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 20、复用浏览器.py
"""

# 使用场景：
# 1. 自动化测试过程中，存在人为介入场景
# 2. 提高 调式 ui 自动化测试脚本效率
#
# 比如一条用例一共有35个步骤，但是在第30步的时候就卡住了报错了，你修改了后，重新运行又会从第一步再次运行到第30步，来检查报错的地方你改正确没，如果反复几次都没有修改正确，那么就会很浪费时间，也重复的执行了前面的步骤，本来1~29的步骤没有问题
# 还比如某些程序是需要使用扫二维码(复用可以扫描一次，以后会记住)，通过后，才能进行操作的，那么用我们之前的模式的话就无法操作了
#
# 使用方法：
# 1、需要退出当前所有的谷歌浏览器 (关闭进程)
# 2、输入启动命令，通过命令启动谷歌浏览器
#     找到 chrome 的 启动路径
#     配置环境变量 : path （获取 chrome的路径）（属性 -> 快捷方式）  ->   C:\Users\Administrator\AppData\Local\Google\Chrome\Application\
# 3、验证是否成功 ： localhost:9222
# 输入启动命令：指定远程调式窗口  : 启动命令 windows：chrome --remote-debugging-port=9222


# 代码设置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

# 定义配置的实例对象 option
option = Options()
# 修改实例属性为 debug 模式启动的 本地：ip + 端口
option.debugger_address = 'localhost:9222'
# 实例化一个浏览器，添加 option 配置
driver = webdriver.Chrome(options=option)
# 打开企业微信
driver.get('https://work.weixin.qq.com/wework_admin/frame')
# 点击添加成员的操作
driver.find_element(By.CSS_SELECTOR, '.ww_indexImg_AddMember')

# 场景二 ： 编写自动化测试脚本过程中，用例的某一步骤出现问题。调式时需要将此步骤前面所有的步骤执行完成后再复现调试

# 添加成员 的 name
driver.find_element(By.CSS_SELECTOR, '.username').send_keys('Mackjia')
